package list;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;
import java.util.Vector;

public class ArrayListTest {

	@Test
	public void getNegativeIndex() {
		new ArrayList<Integer>().get(-1);
	}

	@Test
	public void subList() {
		ArrayList<Integer> list = new ArrayList<>();
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);

		List<Integer> integers = list.subList(1, 2);
		System.out.println(integers);
	}

	@Test
	public void remove() {
		
		List<Integer> list = new ArrayList<>();
		for(int i = 0; i < 11; i++){
			list.add(i);
		}

//		for(int i = 0;i < list.size(); i++){  //错误删除方式，只能删除部分元素
//			System.out.println(list.remove(i));
//		}

		for (Integer i : list) {  //错误删除方式，报错：java.util.ConcurrentModificationException
			list.remove(i);
		}

//		for(int i = list.size() - 1;i >= 0; i--){
//			System.out.println(list.remove(i));
//		}

//		while(list.size() > 0){
//			System.out.println(list.remove(list.size() - 1));
//		}

//		Iterator<Integer> iterator = list.iterator();
//		while(iterator.hasNext()){
//			System.out.println(iterator.next());
//		}
	}
}
